// 根据医院病人就诊问题描述，程序采用菜单方式，其选项及功能说明如下：
// (1) 排队——输入排队病人的病历号，加入病人排队队列
// (2) 就诊——病人排队队列中最前面的病人就诊，并将其从队列中删除

#include <stdio.h>
#include <stdlib.h>
#include "./link_queue.c"


void see_doctor() 
{
    LinkQueue *q;
    q = (LinkQueue *)malloc(sizeof(LinkQueue));
    q->front = q->rear = NULL;
    int choice;
    datatype e;
    while (1)
    {
        printf("请选择功能：\n");
        printf("1. 排队\n");
        printf("2. 就诊\n");
        printf("3. 退出\n");
        printf("请输入功能编号：");
        scanf("%d", &choice);
        switch (choice)
        {
        case 1:
            printf("请输入病历号：");
            scanf("%s", &e);
            push(q, e);
            break;
        case 2:
            pop(q, &e);
            printf("病历号为 %s 的病人就诊\n", &e);
            break;
        case 3:
            exit(0);
        default:
            printf("输入错误，请重新输入！\n");
            break;
        }
    }
}
  
// 测试主函数
int main()
{
    see_doctor();
    return 0;
}